package com.cke.yang.security.app.service;

import com.cke.yang.security.domain.entity.SecRole;

import java.util.List;

/**
 * 角色服务接口
 *
 * @author yuyang
 */
public interface SecRoleService {

    /**
     * 获取当前用户的角色列表
     *
     * @return 当前用户的角色列表
     */
    List<SecRole> getCurrentUserRoles();

    /**
     * 获取所有角色列表
     *
     * @return 所有角色列表
     */
    List<SecRole> getAllRoles();

    /**
     * 切换当前用户的登录角色
     *
     * @param roleId 要切换到的角色ID
     * @return 包含新访问令牌和角色信息的Map，如果切换失败则返回null
     */
    java.util.Map<String, Object> switchCurrentRole(Long roleId);

    /**
     * 获取当前用户的当前角色
     *
     * @return 当前角色，如果未设置则返回null
     */
    SecRole getCurrentRole();

}

